package cn.xopencode.recordservice.rpc.kvtransformer;

import cn.xopencode.common.framework.vo.CommonResult;
import cn.xopencode.common.framework.vo.PageResult;
import cn.xopencode.recordservice.rpc.kvtransformer.dto.KvTransformerRecordCreateDTO;
import cn.xopencode.recordservice.rpc.kvtransformer.dto.KvTransformerRecordPageDTO;
import cn.xopencode.recordservice.rpc.kvtransformer.dto.KvTransformerRecordUpdateDTO;
import cn.xopencode.recordservice.rpc.kvtransformer.vo.KvTransformerRecordAdminPageVO;
import cn.xopencode.recordservice.rpc.kvtransformer.vo.KvTransformerRecordPageVO;
import cn.xopencode.recordservice.rpc.kvtransformer.vo.KvTransformerRecordUpdateVO;
import cn.xopencode.recordservice.rpc.robotroom.dto.AdminRecordPageDTO;

/**
 * 10KV变压器巡检记录  RPC
 */
public interface KvTransformerRecordRpc {

    /**
     * 新增10KV变压器巡检记录
     *
     * @param createDTO
     * @return
     */
    CommonResult<Integer> createKvTransformerRecord(KvTransformerRecordCreateDTO createDTO);

    /**
     * 获得10KV变压器巡检记录分页
     *
     * @param pageDTO
     * @return
     */
    CommonResult<PageResult<KvTransformerRecordPageVO>> pageKvTransformerRecord(KvTransformerRecordPageDTO pageDTO);

    /**
     * 根据记录获取10KV变压器巡检记录
     * @param id
     * @return
     */
    CommonResult<KvTransformerRecordUpdateVO> getKvTransformerRecordById(String id);

    CommonResult<Integer> updateKvTransformerRecord(KvTransformerRecordUpdateDTO updateDTO);

    /**
     * 处理 10KV变压器巡检记录 中的异常，在巡检记录中只是改变状态
     * @param recordId
     * @return
     */
    CommonResult<Integer> dealKvTransformerRecordException(String recordId);

    /**
     * 后台--根据查询条件 分页获取所有的智能机器人班机柜间巡检记录
     * @param pageDTO
     * @return
     */
    CommonResult<PageResult<KvTransformerRecordAdminPageVO>> getAdminPageKvTransformerRecord(AdminRecordPageDTO pageDTO);
}
